home *** CD-ROM | disk | FTP | other *** search
/ PC-SIG: Essential Home & Business / PC-SIG - Essential Home and Business Collection.iso / 22 / 4 / 5 / DISK2245.ZIP / SWAPDOS.DOC < prev    next >
Text File  |  1990-02-01  |  67KB  |  1,562 lines

  1.  
  2.  
  3.                           The SWAP Utilities(TM)
  4.  
  5.  
  6.                                 SWAPDOS(TM)
  7.  
  8.  
  9.                      Version 1.00 -- February 1, 1990
  10.  
  11.  
  12.      Program:
  13.  
  14.      (c) Copyright 1988-1990 Nico Mak - All Rights Reserved
  15.      Distributed under License by Innovative Data Concepts
  16.  
  17.      Documentation:
  18.  
  19.      Copyright 1990, Innovative Data Concepts
  20.      All Rights Reserved
  21.  
  22.  
  23.      Innovative Data Concepts
  24.      1657 The Fairways
  25.      Suite 101
  26.      Jenkintown, PA 19046
  27.      1-215-884-3373
  28. This  document;   other  accompanying  written  and  disk-based  notes  and
  29. specifications; and  all referenced  and related program files accompanying
  30. this document are copyrighted by Innovative Data Concepts.
  31.  
  32. Licensing  and  distribution  requirements  are  described  later  in  this
  33. document.  For ordering information, see the included ORDER.DOC file.
  34.  
  35.  
  36.  
  37.                   _______
  38.              ____|__     |               (TM)
  39.           --|       |    |-------------------
  40.             |   ____|__  |  Association of
  41.             |  |       |_|  Shareware
  42.             |__|   o   |    Professionals
  43.           -----|   |   |---------------------
  44.                |___|___|    MEMBER
  45.  
  46.  
  47. SWAPDOS is  distributed as shareware -- this means that we encourage users,
  48. subject to restrictions described in the License Agreement, to share copies
  49. of this  program with friends, associates and bulletin boards.  You may not
  50. share the  registered version  of SWAPDOS;  however, you may request a free
  51. shareware disk by completing the form in ORDER.DOC.
  52.  
  53. If you  make copies  of SWAPDOS, you must include all files in the original
  54. distribution files,  as well  as the  documentation archive.   You  are not
  55. permitted to distribute SWAPDOS without this documentation.
  56.  
  57. Innovative Data  Concepts is  a member  of  the  Association  of  Shareware
  58. Professionals.   The  ASP  has  established  stringent  standards  for  its
  59. members.   ASP wants  to make  sure that  the shareware principle works for
  60. you.  If you are unable to resolve a problem with an ASP member (other than
  61. technical support),  ASP may  be able  to help.   Please  write to  the ASP
  62. Ombudsman at P.O. Box 5786, Bellevue, WA 98006.
  63.  
  64.  
  65.                                 Trademarks
  66.  
  67.      SWAPSK, SWAPSP, SWAPTN, SWAPMT, SWAPMM, SWAPSH, SWAPDT, SWAPNG and The
  68.           SWAP Utilities are trademarks of Innovative Data Concepts.
  69.      SideKick and  SideKick  Plus  are  registered  trademarks  of  Borland
  70.           International, Inc.
  71.      Tornado is a trademark of Micro Logic Corp.
  72.      Metro,  Express   and  1-2-3   are  trademarks  of  Lotus  Development
  73.           Corporation.
  74.      MemoryMate is a trademark of Broderbund Software.
  75.      TesSeRact is a trademark of the TesSeRact Development Team.
  76.      DESQview and QEMM-386 are trademarks of Quarterdeck Office Systems.
  77.      Software Carousel is a trademark of SoftLogic Solutions, Inc.
  78.      386Max is a trademark of Qualitas, Inc.
  79.      dBASE is a trademark of Ashton Tate, Inc.
  80.      WordPerfect is a trademark of WordPerfect Corporation.
  81.  
  82.  
  83.  
  84.  
  85.  
  86. Page 2                                           SWAPDOS 1.00 Documentation
  87.                              Table of Contents
  88.      Introductory Notes..............................................2
  89.  What is SWAPDOS?....................................................5
  90.      What Do I Use SWAPDOS For?......................................5
  91.  Installation........................................................7
  92.      Installing the Shareware Version................................7
  93.          Files in the archive........................................7
  94.      Installing the Registered Version...............................8
  95.          Files on the diskette.......................................8
  96.      Using IDCBRAND..................................................8
  97.  Quick Start.........................................................8
  98.  The SWAPDOS Command-Line............................................9
  99.      Detailed Explanation of Command-Line Options...................10
  100.      Using the DOS Environment to Set SWAPDOS Options...............11
  101.  Using SWAPDOS for a Single Application.............................12
  102.          dBASE III and dBASE IV.....................................12
  103.          MAKE utilities.............................................13
  104.          KEDIT from Mansfield Software Group........................13
  105.          1-2-3......................................................13
  106.          Microsoft Word.............................................13
  107.          WordPerfect Library........................................13
  108.          WordPerfect 5.1............................................13
  109.          TAPCIS.....................................................13
  110.      Simple Shells..................................................14
  111.          GrandView..................................................14
  112.          WordStar...................................................14
  113.          WordPerfect (before version 5.1)...........................14
  114.          WordPerfect Program Editor.................................14
  115.  Using SWAPDOS "Marks"..............................................14
  116.  Technical Information..............................................15
  117.      Where SWAPDOS writes the swap data.............................15
  118.      EMS and XMS (Expanded and Extended Memory).....................15
  119.      Compatibility with TSRs........................................16
  120.      Command Interpreters other than COMMAND.COM....................16
  121.          PCED.......................................................16
  122.          4DOS.......................................................17
  123.          FlexShell..................................................18
  124.      Loading SWAPDOS "Marks" in "High" DOS Memory...................18
  125.      Interrupt Vectors and the EGA pointer..........................18
  126.  Exit Codes and Error Messages......................................18
  127.      Exit Codes.....................................................18
  128.      Error Message Descriptions.....................................19
  129.  If Something Goes Wrong............................................22
  130.  Commonly Asked Questions...........................................22
  131.      Future releases................................................24
  132.  COPYRIGHT NOTICE AND LICENSE.......................................24
  133.      Warranty.......................................................24
  134.      Registration...................................................25
  135.      Bulletin Boards, Users Groups and Disk Vendors.................25
  136.  About Innovative Data Concepts.....................................26
  137.  The Rest of The SWAP Utilities.....................................26
  138.  Association of Shareware Professionals.............................27
  139.      Standards for the Association of Shareware Professionals.......27
  140.          PROGRAMMING................................................27
  141.          DOCUMENTATION..............................................27
  142.          SUPPORT....................................................27
  143.          GENERAL....................................................28
  144.  
  145. SWAPDOS 1.00 Documentation                                           Page 3
  146.                              What is SWAPDOS?
  147.  
  148. SWAPDOS provides  an  application  independent  method  for  one  PC/MS-DOS
  149. application to  run another,  even if both would normally not fit in memory
  150. at the  same time.   A typical use is to temporarily swap out dBASE to make
  151. room for your text editor, or to swap out a text editor so that you can run
  152. memory hungry  compilers, linkers,  or even  debuggers without  losing your
  153. place in an editing session.
  154.  
  155. SWAPDOS works  by copying conventional memory used by the currently running
  156. application to expanded memory, extended memory, or to a disk file, thereby
  157. freeing conventional memory used by the application.  SWAPDOS then runs the
  158. desired program before restoring the original environment.
  159.  
  160. Throughout this  documentation, you  will see  references to  two different
  161. kinds of  "swaps".   The normal  swap is when SWAPDOS is directly called by
  162. either COMMAND.COM  or another  program.   This method  swaps out  a single
  163. program.
  164.  
  165. The more  powerful type of swapping SWAPDOS uses is called the "long swap."
  166. With this  method, you  can swap  out multiple programs, resident programs,
  167. etc., in  one fell  swoop.  For example, if you like to have a ram-resident
  168. dictionary available  when using  your word  processor, but  don't want the
  169. dictionary  when  you  use  your  database  program.    Using  the  SWAPDOS
  170. "Mark/long swap" technology, you can remove both the word processor and the
  171. dictionary before  running your database -- AND THEN PUT THEM BACK WHEN YOU
  172. RETURN!
  173.  
  174. The amount  of  extra  memory  gained  by  using  SWAPDOS  depends  on  the
  175. application(s) being  swapped out.   In  general, ALL of the memory used by
  176. your program is available for use, minus about 3000 bytes.
  177.  
  178. SWAPDOS is  compatible with  most  PC/MS-DOS  programs.    However,  before
  179. relying on  it, you should test SWAPDOS with your own configuration in case
  180. of conflicts with TSRs and other software.
  181.  
  182. SWAPDOS requires the use of DOS 3.0 or later.
  183.  
  184.  
  185.                         What Do I Use SWAPDOS For?
  186.  
  187. That all  depends.   Different people  use it  for different  reasons,  and
  188. different purposes.    Rather  than  try  to  describe  all  the  different
  189. possibilities and  permutations, IDC has elected to have our users describe
  190. how they use the program.
  191.  
  192.      I use  it inside  of PC-Matlab,  because Matlab  chews  up  MUCHO
  193.      memory, and  then, if you want to print a graph, it shells out to
  194.      its external  graphmaking utility.   If  you have  too much stuff
  195.      defined, you  can't print  your graphs  from inside  Matlab!  You
  196.      have to  save the graphics "metafiles" and print from DOS.  Using
  197.      SWAPDOS allows me to ALWAYS be able to print from inside Matlab.
  198.                                                        -- Neil Judell,
  199.                                                             President,
  200.                                      Technical Development Group, Inc.
  201.  
  202.  
  203.  
  204. Page 4                                           SWAPDOS 1.00 Documentation
  205.      Because I  load a  TSR spell-checker  before  running  TAPCIS,  I
  206.      normally have  only 140K  available after  shelling from  TAPCIS.
  207.      SWAPDOS makes  more than  580K of  memory free when shelling from
  208.      TAP, allowing  me to  run Brief, Norton Commander, or MSGVU, from
  209.      within TAPCIS.   I  also use it to run Brief when shelling out of
  210.      QuickBasic.
  211.                                                John P. Wexler, MD, PhD
  212.                                      Asst Dean of Scientific Computing
  213.                                    Albert Einstein College of Medicine
  214.  
  215.  
  216.      SWAPDOS fills more than the obvious need to re-claim memory while
  217.      shelled from  an application program.  Standard DOS commands like
  218.      DISKCOPY  and   XCOPY  operate   more  efficiently  when  SWAPDOS
  219.      temporarily frees even one TSR.
  220.                                                     Robert J. Rucinski
  221.                                                   Audiovisual Services
  222.                                                 Detroit Public Schools
  223.  
  224.  
  225.      As a  Compuserve Sysop,  I respond to and archive messages in the
  226.      Cancer Forum.   I  use the program TAPCIS to "massage" long files
  227.      of messages.  When I need a better editor than that provided with
  228.      TAPCIS,  I   can  shell   from  TAPCIS,  use  SWAPDOS,  and  work
  229.      efficiently with  long message  files in the memory space thereby
  230.      released.
  231.                                                   Gene R. Feaster, PhD
  232.                                            Medical Physicist (retired)
  233.                                    University of Kansas Medical Center
  234.  
  235.  
  236.      I run  a very  complex system  with many  TSRs loaded most of the
  237.      time.   Still, occasionally, I run applications which require all
  238.      or most  of DOS'  640K.  SWAPDOS has enabled me to define command
  239.      synonyms (or  batch files) that can unload all the TSRs, load the
  240.      memory intensive  application such as Ventura Publisher, and then
  241.      reload my  TSRs.  I used to solve this by having numerous sets of
  242.      AUTOEXEC.BAT's  and   CONFIG.SYS',  and  rebooting  the  computer
  243.      constantly.   Now I  can get  in and  out of  these  applications
  244.      quickly, and  have the  TSRs reloaded  IN THEIR  PREVIOUS  STATE!
  245.      Imagine running Ventura from a dBase shell!  If SideKick Plus had
  246.      five files  loaded that  I was  editing, they're all still there!
  247.      SWAPDOS is a concept whose time has come!
  248.                                                       Robert K. Blaine
  249.                                                                  Owner
  250.                                                             ECONO-SOFT
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263. SWAPDOS 1.00 Documentation                                           Page 5
  264.      SWAPDOS is  a great  utility which  uses much  less  memory  than
  265.      similar commercial  products.  We use it in my law office to swap
  266.      out of  Microsoft Word  to run  other programs.  With SWAPDOS, my
  267.      secretary does not have to save her work, then quit Word, run the
  268.      next program,  reload word,  reload the  document she was working
  269.      on, and  then find her place within that document.  Instead, with
  270.      SWAPDOS, executing  just one  command swaps Word and the document
  271.      she was  working on to memory and just one command returns her to
  272.      Word in  the document  EXACTLY  where  she  left  off,  with  all
  273.      glossaries and other macros, etc., still loaded!!  If you use one
  274.      or two  main programs and wish to switch among them, or to switch
  275.      to other  programs, and  if you  don't wish  to  use  complicated
  276.      programs like  Software Carousel  or DesqView,  then  SWAPDOS  is
  277.      essential.   If you  have just  640K with no expanded or extended
  278.      memory, then  SWAPDOS is  even more essential.  Like all The SWAP
  279.      Utilities, SWAPDOS is a must have!!
  280.                                                          Gary L. Britt
  281.                                                        Attorney at Law
  282.                                                         Houston, Texas
  283.  
  284.  
  285.  
  286.  
  287.  
  288.                                Installation
  289.  
  290. Installation of SWAPDOS is simple.  Basically, create a directory, copy the
  291. files, "Brand"  the program  with your  name and  serial number, and you're
  292. ready to go!
  293.  
  294.  
  295.                      Installing the Shareware Version
  296.  
  297. Normally,  this  documentation  file  and  all  the  supporting  files  are
  298. distributed as  the file,  "SWAPDS.COM", which is a self-extracting archive
  299. file.  To extract all the files, type:
  300.  
  301.      SWAPDS [ENTER]
  302.  
  303. At the  DOS prompt.   That  will create  the program  files.  To print this
  304. documentation, type:
  305.  
  306.      copy SWAPDOS.DOC LPT1 [ENTER]
  307.  
  308. The documentation  is formatted  for 58  lines per page, with 75 characters
  309. per line,  to permit  easy printing on the widest variety of dot-matrix and
  310. laser printers.
  311.  
  312.                            Files in the archive
  313.  
  314.      SWAPDOS.COM..............The SWAPDOS Program
  315.      SWAPDOS.DOC..............The Program's Documentation
  316.      IDCBRAND.COM.............The IDC 'Brand' Program
  317.      ORDER.DOC................Order Form and Site License Information
  318.      VENDOR.DOC...............Distribution Requirements for Shareware
  319.                               Disk Vendors
  320.      READ.ME..................Late-breaking Information about SWAPDOS
  321.  
  322. Page 6                                           SWAPDOS 1.00 Documentation
  323.                      Installing the Registered Version
  324.  
  325. Using the  DOS command  DISKCOPY,  make  a  working  copy  of  the  SWAPDOS
  326. distribution diskette and keep the original in a safe place.
  327.  
  328. Use the  DOS TYPE or PRINT command to view the contents of the READ.ME file
  329. on the  program diskette.   This  file contains  any information on SWAPDOS
  330. usage that has become available since this manual was printed.
  331.  
  332. Copy the  files SWAPDOS.COM and IDCBRAND.COM from the distribution diskette
  333. to any  directory in  your path.  If you are not sure which directories are
  334. in your path, you can use the DOS command PATH to get a list.
  335.  
  336.  
  337.                            Files on the diskette
  338.  
  339.      SWAPDOS.COM..............The SWAPDOS Program
  340.      SWAPDOS.DOC..............The Program's Documentation
  341.      IDCBRAND.COM.............The IDC 'Brand' Program
  342.      ORDER.DOC................Order Form and Site License Information
  343.      READ.ME..................Late-breaking Information about SWAPDOS
  344.  
  345.  
  346.                               Using IDCBRAND
  347.  
  348. At the DOS prompt, from the directory that contains SWAPDOS.COM, type:
  349.  
  350.      IDCBRAND SWAPDOS.COM [ENTER]
  351.  
  352. You will  be asked  to enter  your name  (registered versions  will also be
  353. asked for a serial number).  ONCE THE PROGRAM IS BRANDED, IT MAY NOT BE RE-
  354. INSTALLED without copying from the original master diskette!  Make sure the
  355. information is correct, and press [ENTER] to confirm.
  356.  
  357.  
  358.                                 Quick Start
  359.  
  360. Make sure that SWAPDOS.COM is in your path!
  361.  
  362. We recommend  that you  take the time to read the rest of the manual before
  363. running SWAPDOS.   However,  if you  are in  a hurry  to use SWAPDOS, first
  364. check whether  your application  is listed  in the  examples in the section
  365. titled "Using  SWAPDOS for  a Single Application."  If it is listed, follow
  366. the instructions  in the  example.  Otherwise, if you are willing to take a
  367. chance that  an incompatibility  between SWAPDOS  and your application will
  368. require that  you reboot your computer, you can start using SWAPDOS to swap
  369. out a single application by following these simple instructions:
  370.  
  371. 1)   Shell to DOS from your application.
  372.  
  373. 2)   Enter the  following command  at the  DOS  prompt  to  swap  out  your
  374. application.
  375.  
  376.      SWAPDOS [ENTER]
  377.  
  378. 3)   When you  want to  return to your application, use the EXIT command at
  379. the DOS prompt to swap your application back into conventional memory.
  380.  
  381. SWAPDOS 1.00 Documentation                                           Page 7
  382. 4)   Enter  the   EXIT  command  at  the  DOS  prompt  to  return  to  your
  383. application.
  384.  
  385. If you  only want to run one program while your application is swapped out,
  386. you can  combine steps  two and three by specifying the program name at the
  387. end of  the SWAPDOS  command.   For example,  to run Lotus 1-2-3 while your
  388. application is swapped out, use the command
  389.  
  390.      SWAPDOS 123 [ENTER]
  391.  
  392. Many programs  permit more  than a  simple "Shell  to DOS"  function.   For
  393. example, Microsoft  Word has the "Library Run" command, that permits you to
  394. run another  program.   You may  run SWAPDOS  directly from  programs  like
  395. these, instead of going to a DOS shell first.
  396.  
  397.  
  398.                          The SWAPDOS Command-Line
  399.  
  400. The SWAPDOS  command can be entered at the DOS prompt, or it can be part of
  401. the command  string that  your application  sends to  DOS  to  run  another
  402. program.   The section  titled "Using SWAPDOS for a Single Application" for
  403. examples of using SWAPDOS.
  404.  
  405.   The command syntax is
  406.  
  407.   SWAPDOS [options] [command]
  408.  
  409.   Where:
  410.  
  411.   Options are one or more of the options listed below.
  412.   Command is the program you want to run while your application is
  413.   swapped out.
  414.  
  415. Options may  be preceded by either a '-' or '/' as a switch character.  Any
  416. options that  have an  optional argument  (such as  the /M  option) may use
  417. either an equals "=" or a colon ":" as the separator.
  418.  
  419. Valid options are:
  420.   /H /? ? -- Display this help screen
  421.   /S=x    -- Set Swapping Type (0=Auto, 1=Disk, 2=EMM, 3=XMS) SwapType =
  422.                0 is  the default; if selected type fails (i.e.,no XMS is
  423.                available with /S=3), auto-check is done.
  424.   /D=path -- FULL PATHNAME to store swap files
  425.   /U      -- Unique filename is used for swapping
  426.   /M=name -- Set a SWAPDOS "mark" in memory (name is optional)
  427.   /L=name -- Long swap to a SWAPDOS "mark" (name is optional)
  428.   /K=name -- Remove a SWAPDOS "mark" (name is optional)
  429.   /I=name -- Check to see if "mark" is in memory (name is optional)
  430.   /F      -- Force  swap even  if application  appears  to  have  hooked
  431.                interrupt vectors
  432.   /Q      -- Quiet - suppress information messages
  433.   /V      -- Vector saving is suppressed
  434.   /Z      -- Zero "stray" interrupt vectors
  435.  
  436.   "/" and "-" are valid switch characters
  437.   "=" and ":" are valid separators
  438.  
  439.  
  440. Page 8                                           SWAPDOS 1.00 Documentation
  441. If you  do not specify a command, then SWAPDOS simply loads another copy of
  442. the command  processor specified by the COMSPEC variable, and leaves you at
  443. the DOS  prompt.   Type EXIT  at the DOS prompt to restore the programs you
  444. have swapped out and exit SWAPDOS.
  445.  
  446. Most options  (except those  that take optional parameters) can be prefixed
  447. by an  "n" to  disable an  option that was previously set.  For example, in
  448. the command "SWAPDOS /U /NU" the /NU negates the effect of the /U.  The "N"
  449. prefix is  useful for  overriding options  set in  the SWAPOPT= environment
  450. variable, described in the section titled "Using The DOS Environment To Set
  451. SWAPDOS Options".
  452.  
  453.  
  454.                Detailed Explanation of Command-Line Options
  455.  
  456. /S=x --  The /S  parameter determines  the type of swapping to use.  In the
  457. default Autodetect  mode, SWAPDOS will attempt to allocate expanded memory,
  458. using EMS version level 3.2 or later.  If EMS is not available, the utility
  459. will attempt  to use  Extended Memory  that is available, using Microsoft's
  460. eXtended Memory Specification (XMS) (See note about XMS below).  If neither
  461. EMS or  XMS is available, a disk file will be created, and SWAPDOS will use
  462. disk (default, C:\) for swapping.  The /S parameter can be used to override
  463. the default  mode, and force swapping to XMS, EMS or Disk.  If the swapping
  464. method specified with /S is not valid, then Auto mode is used.
  465.  
  466. /D=path --  The /D  parameter tells  SWAPDOS in what drive and directory to
  467. store the  swap file.   The default is the root directory on drive C (C:\).
  468. The pathname  is limited  to 30  characters, and must contain a valid drive
  469. specification, and  path.  The trailing backslash is not necessary.  If the
  470. /D parameter  is not  the last  option on the command-line, there must be a
  471. space character  following the  pathname and  before another  slash option.
  472. Note that  this option  does not  force SWAPDOS  to write to disk.  Use the
  473. /S=1 option  to force  SWAPDOS to  use a  disk swap  file even  if you have
  474. available EMS or XMS memory.  An example of this switch is: /D=C:\TEMP
  475.  
  476. /U --  This option  causes SWAPDOS to use a "unique" filename for disk swap
  477. files using  the DOS  function to  create a  temporary filename.  Filenames
  478. created with  the /U  option usually  consist of  all numeric digits.  This
  479. option is  mainly useful  when multiple  machines on  a network swap to the
  480. same shared  subdirectory,  since  the  default  filename  is  sufficiently
  481. "unique" for  single user  (non-networked) machines,  and makes  it easy to
  482. identify and  erase unnecessary swap files if you reboot your machine while
  483. swap is  active.   Note that this option does not force SWAPDOS to write to
  484. disk.  Use the /S=1 option to force SWAPDOS to use a disk swap file even if
  485. you have available EMS or XMS memory.
  486.  
  487. /Q --  Specifies that most SWAPDOS informational messages are not displayed
  488. (not available in shareware version).
  489.  
  490. /Z --  Zeros all "stray" interrupt vectors that point to free memory.  This
  491. can be  useful to  help determine  whether the  /F option  is safe  with  a
  492. particular application.   This option is unnecessary if using the preferred
  493. mark/long swap method.
  494.  
  495. The following  options are  used in  conjunction with the SWAPDOS mark/long
  496. swap method.   Note  that mark  names are not case sensitive, just like DOS
  497. commands (i.e., "TEST" and "test" are identical).
  498.  
  499. SWAPDOS 1.00 Documentation                                           Page 9
  500. /M=name --  Sets a  swap "mark".   All programs loaded after SWAPDOS is run
  501. with this option are swapped out when the /L option is used.  A mark "name"
  502. can be specified after the /M option, but is not required.
  503.  
  504. /L=name --  This is  a "long  swap", used in conjunction with a "mark".  It
  505. specifies that  all TSRs and applications loaded since the last swap "mark"
  506. (or after  the last  mark with the same mark "name") are to be swapped out.
  507. A "mark name" can be specified after the /L option, but is not required.
  508.  
  509. /K=name -- Kills (removes from memory) a swap "mark" set with the /M option
  510. and all  memory owned  by programs  loaded after the "mark".  A "mark name"
  511. can be specified after the /K option, but is not required.
  512.  
  513. /I=name --  Determines whether  the (optionally  named) specified  mark has
  514. been found.   Can  be used  in a batch file to determine whether you should
  515. use a  long swap  or not.   Returns  with ERRORLEVEL set to ZERO (0) if the
  516. specified mark is found, and 2 if not found.
  517.  
  518. NOTE!   The following  two options are provided (/V and /F), but should NOT
  519. be used.   Their  functionality and  features could crash your machine, and
  520. Innovative Data  Concepts will not provide ANY support if these two options
  521. are used!  If you need this functionality, use the SWAPDOS "mark" and "long
  522. swap" method.
  523.  
  524. /V --  Suppresses the  normal save  and restore  of all  interrupt  vectors
  525. before and after swapping.  This option saves 1K of memory, but should only
  526. be used  if you  are sure that no programs which hook interrupt vectors are
  527. used while your application is swapped out.  WE STRONGLY ADVISE AGAINST THE
  528. USE OF THIS OPTION!
  529.  
  530. /F --  Forces SWAPDOS to continue even if an interrupt vector points to the
  531. program that  gets swapped  out.  This option is provided ONLY for backward
  532. compatibility with  previous versions  of this program.  WE STRONGLY ADVISE
  533. AGAINST THE USE OF THIS OPTION!
  534.  
  535.  
  536.              Using the DOS Environment to Set SWAPDOS Options
  537.  
  538. Default SWAPDOS  options can  be specified using a DOS environment variable
  539. called SWAPOPT.   You can set the value of the SWAPOPT environment variable
  540. by using the DOS SET command:
  541.  
  542.      SET SWAPOPT=options [ENTER]
  543.  
  544. Options specified  on the  command line  override options  specified in the
  545. environment variable.   SWAPDOS  looks for  this environment  variable  and
  546. processes any options that it contains before processing the options on the
  547. SWAPDOS command  line.  The section titled "The SWAPDOS Command-Line" lists
  548. all valid SWAPDOS options.  The "n" prefix described in that section can be
  549. used on  the command  line options  to override  any  options  set  in  the
  550. environment variable.
  551.  
  552. The  SWAPOPT   environment  variable   is  usually  set  from  within  your
  553. AUTOEXEC.BAT.   Your DOS  manual contains  more information on AUTOEXEC.BAT
  554. files and the SET command.
  555.  
  556.  
  557.  
  558. Page 10                                          SWAPDOS 1.00 Documentation
  559. Please note  that you  cannot use  the '='  as a separator in your SWAPOPT.
  560. Instead, use the ':' character as a separator.
  561.  
  562. As an example, you can issue the command
  563.  
  564.      SET SWAPOPT=/L /Q /S:1 /D:H:\[ENTER]
  565.  
  566. to make  the /L,  /Q, /S:1  and /D:H:\ options the defaults for any SWAPDOS
  567. commands subsequently  issued.   If  you  subsequently  issue  the  command
  568. "SWAPDOS /S:0"  then SWAPDOS will try to swap to EMS or XMS before swapping
  569. to  disk,   because  the  command-line  options  override  the  environment
  570. settings.
  571.  
  572. The most common use of SWAPOPT would be to use /Q, /L (so you ALWAYS have a
  573. long swap),  /D to  set the  swapping directory to a ramdisk, and /S to set
  574. the swapping  type.   You SHOULD  NOT use  /M, /K  or  /H  in  the  SWAPOPT
  575. variable.
  576.  
  577. Using SWAPDOS for a Single Application
  578.  
  579. To run  SWAPDOS to  swap out  a single application program to make room for
  580. another, you can either
  581.  
  582. 1)   Use the  shell-to-DOS feature  of the program to get to the DOS prompt
  583. and run SWAPDOS.COM, or
  584.  
  585. 2)   Imbed the  SWAPDOS command in the command string that your application
  586. sends to DOS to run another program.
  587.  
  588. The commands to perform this function vary from application to application.
  589. If the  examples below  do not  include your  application, and if you don't
  590. know the  appropriate command  for your  application, check the application
  591. manual's index  and table  of contents  for "Shell  to DOS", "Exit to DOS",
  592. "System", and "Run".
  593.  
  594. Here are examples of how to swap out some popular programs:
  595.  
  596.   dBASE III and dBASE IV
  597.  
  598. To run  SWAPDOS to  swap out dBASE and load your favorite editor, you could
  599. enter the dBASE command
  600.  
  601.      RUN SWAPDOS KEDIT filename [ENTER]
  602.  
  603. Alternately, you could add the following line to your CONFIG.DB file:
  604.  
  605.      TEDIT = SWAPDOS.COM KEDIT.EXE
  606.  
  607. and subsequently enter the following dBASE command to edit a file:
  608.  
  609.      MODIFY COMMAND filename [ENTER]
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617. SWAPDOS 1.00 Documentation                                          Page 11
  618.   MAKE utilities
  619.  
  620. To swap  out most  MAKE utilities  so that your compiler has more available
  621. memory, use a makefile that looks like this
  622.  
  623.      appl.obj:  appl.c appl.h
  624.           swapdos cl -Zip $*.c
  625.  
  626.   KEDIT from Mansfield Software Group
  627.  
  628. The KEDIT command "DOS SWAPDOS /Q" will swap out KEDIT and leave you at the
  629. DOS prompt.   To automatically swap out KEDIT by pressing a single key, add
  630. the  command   "Define  Alt-F4   dos  SWAPDOS   /Q"  to   your  PROFILE.KEX
  631. configuration file  and exit  the editor.   When you subsequently run KEDIT
  632. you can press Alt-F4 to automatically run SWAPDOS.
  633.  
  634.   1-2-3
  635.  
  636. Use the  1-2-3 "System" command to shell to dos, and then type "SWAPDOS" to
  637. recover the memory used by the program.
  638.  
  639.   Microsoft Word
  640.  
  641. Select "Library Run", and enter "SWAPDOS [cmd]", to run another program.
  642.  
  643.   WordPerfect Library
  644.  
  645. To recover the 40K or so used by the WordPerfect Library Shell, go into the
  646. setup screen,  and change the command to execute to call SWAPDOS instead of
  647. the application directly.
  648.  
  649.   WordPerfect 5.1
  650.  
  651. Press Ctrl-F1, followed by numeral 2, and type:
  652.  
  653.      SWAPDOS [programname] [ENTER]
  654.  
  655. WordPerfect may  take control  of the EGA/VGA Control region, necessitating
  656. the use of a SWAPDOS "mark".
  657.  
  658.   TAPCIS
  659.  
  660. Same as  WordPerfect 5.1,  except use Shift-F1.  TAPCIS may take control of
  661. the EGA/VGA Control region or some interrupt vectors, necessitating the use
  662. of a SWAPDOS "mark".
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.  
  676. Page 12                                          SWAPDOS 1.00 Documentation
  677.                                Simple Shells
  678.  
  679. The following  programs do  not  permit  running  a  separate  application;
  680. however, they  do permit the use of a DOS shell.  Simply shell to DOS using
  681. the appropriate commands, and then type:
  682.  
  683.      SWAPDOS [ENTER]
  684.  
  685. to recover the memory used by the application.
  686.   GrandView
  687.   WordStar
  688.   WordPerfect (before version 5.1)
  689.   WordPerfect Program Editor
  690.  
  691.  
  692.                            Using SWAPDOS "Marks"
  693.  
  694. The SWAPDOS  /K, /L, and /M allow you to swap out multiple applications and
  695. TSRs at one time.  To use this facility, follow these steps:
  696.  
  697. 1)   Issue the  command "SWAPDOS /M".  This causes SWAPDOS to reserve about
  698. 1,200 bytes of your computers conventional memory for information needed to
  699. swap out  subsequently loaded  programs.   This is  referred to  as a  swap
  700. "mark".
  701.  
  702. 2)   Load one  or more  TSRs and/or  application programs  (for example,  a
  703. spelling checker and your word processor).
  704.  
  705. 3)   To swap out programs loaded in step 2, issue the command "SWAPDOS /L".
  706. Note that  the "mark" set in step 1 cannot be used again until you complete
  707. step 4.
  708.  
  709. 4)   Once you are ready to restore the programs swapped out in step 3 issue
  710. the EXIT [ENTER] command from the DOS prompt.
  711.  
  712. 5)   After leaving  the applications or unloading the TSRs loaded in step 2
  713. issue the  command "SWAPDOS  /K" to  reclaim the  memory used  by the  swap
  714. "mark" set up during step 1.
  715.  
  716. As an example, if you use Turbo Lightning and WordPerfect, you could do the
  717. following:
  718.  
  719.   SWAPDOS /M=LIGHT [ENTER]-- Load SWAPDOS mark named "LIGHT"
  720.   LIGHT [ENTER]                            -- Load Lightning
  721.   WP [ENTER]                             -- Load WordPerfect
  722.                                 -- shell to DOS with Ctrl-F1
  723.   SWAPDOS /L=LIGHT [ENTER]      -- Long SWAP to "LIGHT" mark
  724.                            -- run whatever programs you like
  725.   EXIT [ENTER]                             -- recover memory
  726.   EXIT [ENTER]                                 -- back to WP
  727.                                              -- quit from WP
  728.   SWAPDOS /K=LIGHT [ENTER]         -- to remove SWAPDOS mark
  729.                                       and Lightning from RAM
  730.  
  731.  
  732. If you  loaded TSRs  in step 2 that do not have an "unload" option, you can
  733. usually reclaim  any conventional  memory they  allocated with the "SWAPDOS
  734.  
  735. SWAPDOS 1.00 Documentation                                          Page 13
  736. /K" command.   However,  if possible,  it is always better to use the TSR's
  737. "unload" facilities,  rather than  relying on the /K option, to ensure that
  738. any application  specific resources (e.g. temporary disk work files, EMS or
  739. XMS memory, etc.) are restored.
  740.  
  741. PLEASE NOTE:  If you run IDC's SWAP Utility TSR programs between SWAPDOS /M
  742. and SWAPDOS /L, and then re-load them while the SWAP?? program is resident,
  743. you will trash the original copy's swap files!  For example, if you already
  744. have SWAPSP  loaded, and remove it with a long swap, you will overwrite the
  745. SWAPSP temporary files if you re-load SWAPSP again before restoring!
  746.  
  747. If you only want to run one program while your TSRs and/or applications are
  748. swapped out, you can combine steps three and four by specifying the program
  749. name at  the end  of the  SWAPDOS command.  For example, to run Lotus 1-2-3
  750. while the programs are swapped out, use the command
  751.  
  752. SWAPDOS /L 123
  753.  
  754. You can  specify a  "swap name"  with the  /M /L,  and /K  options.  If you
  755. specify a  name when  you set  a mark  with the  /M option  you  can  later
  756. reference that mark by again specifying the name with the /L or /K options.
  757. For example, if you issue the command "SWAPDOS /M=FirstMark", load a TSR or
  758. application, and  later set  another mark,  you can  swap out  all programs
  759. loaded after the first mark with the command "SWAPDOS /L=FirstMark".
  760.  
  761.  
  762.                         Restrictions for Mark Names
  763.  
  764. Note that  swap names  are NOT  case sensitive  (in other words "first" and
  765. "FIRST" and  "First" are all considered the same mark name) and are limited
  766. to 12  characters.   All characters  following the  separator and up to the
  767. first space  are considered  part of  the swap  name.    Only  alphanumeric
  768. characters may be used for mark names -- numbers and letters.
  769.  
  770.  
  771.                            Technical Information
  772.  
  773.  
  774.                     Where SWAPDOS writes the swap data
  775.  
  776. Normally SWAPDOS  first will  try to  swap to  expanded memory  (EMS 3.2 or
  777. later is  required for  expanded memory  support).  If there is no expanded
  778. memory available it will try to swap to extended memory (XMS version 2.0 or
  779. later is  required for  extended memory  support).  If there is no extended
  780. memory  available  it  will  swap  to  disk,  using  the  default  filename
  781. C:\SWAPxxxx.SWP (where  xxxx is  the process  ID of  the program  that gets
  782. swapped out).  You can override the normal behavior with the /S, /U, and /D
  783. options described previously.
  784.  
  785.  
  786.                 EMS and XMS (Expanded and Extended Memory)
  787.  
  788. EMS is  the Expanded  Memory  Specification,  developed  by  Lotus,  Intel,
  789. Microsoft.   In Intel 8086 and 80286 machines (e.g.  IBM PC and IBM AT) EMS
  790. support is  normally provided  by memory  expansion boards  such as the AST
  791. Rampage.   On Intel  80386 machines  (e.g.   IBM PS/2  model 60  to 80) EMS
  792. support is  implemented in  software, either  via memory  managers such  as
  793.  
  794. Page 14                                          SWAPDOS 1.00 Documentation
  795. 386MAX from  Qualitas or  device drivers  like  XMAEM.SYS  and  XMA2EMS.SYS
  796. provided with IBM's PC-DOS 4.00.
  797.  
  798. XMS is  the eXtended  Memory  Specification,  developed  by  Lotus,  Intel,
  799. Microsoft, and  AST.   XMS support  is provided  by  the  HIMEM.SYS  driver
  800. included with  MS-DOS 4.00 (but not IBM's PC-DOS) and with Windows 286.  If
  801. you don't  have HIMEM.SYS but have access to CompuServe, you can get a free
  802. copy from  in library  1 of  the CompuServe MSSYS forum.  The 386MAX memory
  803. manager from Qualitas also supports XMS, as does QuarterDeck's QEMM 5.0
  804.  
  805.  
  806.                           Compatibility with TSRs
  807.  
  808. SWAPDOS  is   compatible  with  most  TSRs  (Terminate  and  Stay  Resident
  809. programs).   It will  coexist with  these programs  and even  swap them out
  810. (thereby temporarily  disabling them).   However,  if you load (initialize)
  811. TSRs while  an application is swapped out, you should unload the TSR before
  812. returning to  your application.   For example, you can use the command "SK"
  813. to load  SideKick before  starting your  application, then run SWAPDOS, and
  814. hot-key into  SideKick while  SWAPDOS is  active, but  you should  not load
  815. SideKick with the command "SWAPDOS SK".
  816.  
  817.  
  818.                 Command Interpreters other than COMMAND.COM
  819.  
  820. SWAPDOS should  be compatible  with most  command interpreters,  as long as
  821. they are  compatible enough  with COMMAND.COM.   Two that are known to work
  822. well are 4DOS and FlexShell.
  823.  
  824. Why replace  COMMAND.COM?    It  is  the  confirmed  opinion  of  IDC  that
  825. COMMAND.COM is  a brain-damaged  command-line interpreter.  Batch files are
  826. slow and have a kludgey language interface; command-line editing is next to
  827. nil; and the internal commands lack flexibility.
  828.  
  829. For these  and other  reasons, we  heartily recommend  using either PCED, a
  830. COMMAND.COM extension  program, or  the two  replacement shells  (4DOS  and
  831. FlexShell) mentioned above.
  832.  
  833. PCED stands  for Professional  Command EDitor.   It is designed to help you
  834. with editing  command-lines, repetitive  commands, and  more.   It provides
  835. these basic features:
  836.      - A better command editor than the one that is part of DOS.
  837.      - A  way to quickly recall and edit previously-issued commands for re-
  838.           entry.
  839.      - Command  synonyms, which allow you to abbreviate often-used commands
  840.           to a few letters or symbols.
  841.      - The  ability to  "chain" a series of commands together without using
  842.           disk-wasting batch files.
  843.      - Automatic recall of arguments to previously-issued commands.
  844.  
  845. In addition, PCED provides an external interface that allows other programs
  846. to make  use of  PCED features if they wish to.  It is even possible, using
  847. this interface, to simulate the addition of new internal commands to DOS.
  848.  
  849. For more  information, contact  The Cove  Software Group,  Post Office  Box
  850. 1027, Columbia, MD 21044, or call 1-301-992-9371.
  851.  
  852.  
  853. SWAPDOS 1.00 Documentation                                          Page 15
  854. SWAPDOS has  been specifically  tested with 4DOS, the shareware COMMAND.COM
  855. replacement which  was a  finalist  for  the  1989  PC  Magazine  Technical
  856. Excellence Award.
  857.  
  858. 4DOS replaces  COMMAND.COM, the  command interpreter  that comes  with  all
  859. versions of MS-DOS and PC-DOS.  You'll find 4DOS provides many capabilities
  860. that COMMAND.COM can't:
  861.      - A Vastly enhanced DIR command.
  862.      - Point-and-shoot file selection for any command.
  863.      - Command history and editing.
  864.      - Shorthand commands called "aliases".
  865.      - More than 40 "new" DOS commands.
  866.  
  867. With all  this added  functionality, 4DOS  is  completely  compatible  with
  868. COMMAND.COM,  and   requires  less   than  4K  of  DOS  memory  while  your
  869. applications are  running.   For more information, contact J.P. Software at
  870. P.O. Box  1470, E.  Arlington, MA 02174; phone 1-617-646-3975, fax 617-646-
  871. 0904.
  872.  
  873. SWAPDOS will  detect the presence of 4DOS in your system, and adjust itself
  874. accordingly.  4DOS provides vastly increased power at the DOS command-line,
  875. and may be of particular interest to SWAPDOS users.
  876.  
  877. Versions of 4DOS prior to 3.0 do not require the use of a "master" (memory-
  878. resident)  DOS  environment,  so  SWAPDOS  is  unable  to  reduce  its  own
  879. environment before  going resident  for a  SWAPDOS "mark".  In 4DOS version
  880. 3.0, the master environment is standard, and this problem should not occur.
  881.  
  882. If you  are using  a version of 4DOS prior to 3.0, use the following method
  883. to reduce the space taken by the environment when SWAPDOS is loaded:
  884.  
  885.      Put  all   the  alias   definitions  and   all  the  non-critical
  886.      environment assignments in the 4start.bat file.  When you want to
  887.      load the  SWAPDOS mark, use the following sequence of commands in
  888.      your batch file:
  889.  
  890.            unalias *
  891.            REM set all non-critical environment strings to blank
  892.            SWAPDOS /M=name
  893.            REM call 4START or a similar batch file to reload the
  894.                  aliases and environment strings
  895.  
  896.  
  897.      Note that  you should  not use  the 4DOS  SETLOCAL  and  ENDLOCAL
  898.      commands to modify the environment for SWAPDOS, because they will
  899.      leave a "hole" in memory below SWAPDOS.  This will cause no harm,
  900.      but will eliminate the memory savings you wanted!
  901.  
  902. If you have any trouble using SWAPDOS with 4DOS, contact either IDC or J.P.
  903. Software, publishers  of 4DOS,  at  1-617-646-3975.    Both  companies  are
  904. equipped to support your use of these products together.
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912. Page 16                                          SWAPDOS 1.00 Documentation
  913. FlexShell from FlexWare is a shell for DOS that replaces COMMAND.COM.  Some
  914. of the benefits of using FlexShell are:
  915.      - It  enhances almost  all standard COMMAND.COM commands and adds many
  916.           new commands.
  917.      - It executes standard BAT files.
  918.      - It provides a command-line editor, a history stack with command-line
  919.           completion and aliases.
  920.      - It consumes little memory and can utilize EMS.
  921.      - Custom  shells can  be built  using ShellGen,  a companion  utility,
  922.           which lets you choose the commands and features to be included.
  923.      - Command extensions can be written in C or assembler.
  924.  
  925. For more  information, contact  FlexWare, 937  JungFrau Ct.,  Milpitas,  CA
  926. 95035, or Stan Mitchell 73227,1463 on Compuserve.
  927.  
  928.  
  929.                Loading SWAPDOS "Marks" in "High" DOS Memory
  930.  
  931. In a single word:  DON'T!
  932.  
  933. The methods  SWAPDOS use  to swap  out applications  requires  that  it  be
  934. present in  low memory,  below the  application to  be swapped out.  Do not
  935. load SWAPDOS into high memory!
  936.  
  937.  
  938.                    Interrupt Vectors and the EGA pointer
  939.  
  940. SWAPDOS will  not swap  out a program that has taken control of one or more
  941. of the  systems interrupt  vectors, nor  will it  swap an  application that
  942. controls the  EGA/VGA Save  Pointer  region.    This  is  because  removing
  943. interrupt handling  code  would  probably  result  in  a  crashed  machine.
  944. However, spurious  interrupt vectors  often point  at memory  used  by  the
  945. application program you want to swap out.
  946.  
  947. If you  want to  swap out  an application  which has  taken control  of the
  948. system interrupt  vectors or  uses the EGA/VGA Save Pointer region, use the
  949. SWAPDOS "mark/long swap" method described above.
  950.  
  951.  
  952. Exit Codes and Error Messages
  953.  
  954.  
  955.                                 Exit Codes
  956.  
  957. SWAPDOS exit  codes (sometimes  known as  error levels or return codes) and
  958. their meanings are:
  959.  
  960.      0 - SWAPDOS completed successfully.
  961.      1 - An invalid option was specified.
  962.      2 - An error occurred before SWAPDOS temporarily freed up memory.
  963.      3 - An error occurred after SWAPDOS temporarily freed up memory.
  964.      This exit code indicates a serious condition that may require a
  965.      reboot (e.g. the user erased the disk swap file, so SWAPDOS cannot
  966.      restore the environment).
  967.  
  968. You can  check the  SWAPDOS error  code from DOS batch files with the batch
  969. file command IF ERRORLEVEL, as described in your DOS manual.
  970.  
  971. SWAPDOS 1.00 Documentation                                          Page 17
  972.                         Error Message Descriptions
  973.  
  974. SWAPDOS error messages and error message descriptions follow:
  975.  
  976.   Could not allocate extended memory
  977.  
  978. An error  was returned  by the XMS memory manager when SWAPDOS attempted to
  979. allocate extended  memory.   This could  happen if  you specified  the /S=3
  980. option but there was not enough free extended memory.
  981.  
  982.   Could not create swap file
  983.  
  984. DOS returned  an error  when SWAPDOS tried to create its swap file on disk.
  985. This would  happen if  the path  information specified by the /D option was
  986. invalid.   If you  did not  use the /D option and have a C:  drive, perhaps
  987. you are  already using  the maximum number of files allowed by your version
  988. of DOS in the root directory, or perhaps the disk is full.
  989.  
  990.   Could not find an application to swap out
  991.  
  992. SWAPDOS could  not find  an application  program to  swap out.   This could
  993. happen if  you are  running SWAPDOS from the DOS prompt but did not use the
  994. "shell to  DOS" feature  of an  application to get to the DOS prompt.  Note
  995. that if  you want  to swap  out TSRs,  you need  to use  the /L  option, as
  996. described in section the section titled "Using SWAPDOS Marks".
  997.  
  998.   Could not find COMSPEC= in environment
  999.  
  1000. SWAPDOS could  not find the required COMSPEC= variable in your environment.
  1001. This could  happen if  some .BAT  file you  ran issued the DOS command "set
  1002. comspec=".   Note that  this environment variable is set automatically when
  1003. you boot DOS.
  1004.  
  1005.   Could not find Master DOS Environment
  1006.  
  1007. This message  indicates a  serious incompatibility between SWAPDOS and your
  1008. command interpreter.  Please contact IDC Technical Support immediately.
  1009.  
  1010.   Could not find specified SWAPDOS "mark"
  1011.  
  1012. You specified  the /K or /L options, but SWAPDOS could not find the SWAPDOS
  1013. "mark".  This could happen if you forgot to run SWAPDOS with the /M option,
  1014. or if you have already swapped out all your swap "marks".
  1015.  
  1016.   Could not find SWAP's PSP
  1017.  
  1018. There is  a problem with the memory allocation chain.  Notify IDC technical
  1019. support if you see this message.
  1020.  
  1021.   Could not open swap file
  1022.  
  1023. DOS returned  an error  while SWAPDOS  was trying to open a disk swap file.
  1024. This could happen if you (or some program you ran) erased the swap file.
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030. Page 18                                          SWAPDOS 1.00 Documentation
  1031.  
  1032.   DOS version must be 3.0 or higher
  1033.  
  1034. SWAPDOS will  not work  with DOS versions under 3.0.  Consider upgrading to
  1035. DOS version 3.3 or higher.
  1036.  
  1037.   EMS Error nn function mm
  1038.  
  1039. The EMS memory manager returned error nn while processing function mm.  Use
  1040. the /S=1  or /S=3  option to  circumvent this  problem.   This most  likely
  1041. happened if  your EMS is not configured correctly.  If you believe your EMS
  1042. is configured  correctly (e.g.  you have  successfully used your EMS memory
  1043. with other programs) contact IDC technical support.
  1044.  
  1045.   Error reading swap file
  1046.  
  1047. DOS returned  an error  while SWAPDOS  was trying  to read from a disk swap
  1048. file.   This could  happen if you (or some program you ran) erased the swap
  1049. file.
  1050.  
  1051.   Error writing to swap file
  1052.  
  1053. DOS returned  an error  while SWAPDOS  was trying  to write  to a disk swap
  1054. file.   This could  happen if the disk specified by the /D option (or the C
  1055. disk, if you didn't use the /D option) is full.
  1056.  
  1057.   Fileid prefix specified after /D option is too long
  1058.  
  1059. The path  information specified after the /D option is too long.  The limit
  1060. is 52 characters.
  1061.  
  1062.   Invalid character in mark name
  1063.  
  1064. Only alphanumeric  characters (0  through 9,  A through Z) are permitted in
  1065. mark names.  Lower-case letters are converted to upper case before storage.
  1066.  
  1067.   Invalid option
  1068.  
  1069. An invalid  option was  specified.  Valid options are listed in the section
  1070. titled "Command Syntax".
  1071.  
  1072.   Less than 16K to swap
  1073.  
  1074. SWAPDOS will not swap out programs smaller than 16K in size.
  1075.  
  1076.   LSEEK on swap file failed
  1077.  
  1078. DOS returned  an error  while SWAPDOS  tried to  set the file pointer for a
  1079. disk swap  file.  This could happen if you (or some program you ran) erased
  1080. the swap file.
  1081.  
  1082.   Mark name is too long
  1083.  
  1084. The specified mark name was too long.  The limit is 12 characters.
  1085.  
  1086.  
  1087.  
  1088.  
  1089. SWAPDOS 1.00 Documentation                                          Page 19
  1090.  
  1091.   Memory is too fragmented to swap
  1092.  
  1093. SWAPDOS could  not find  a required  memory  control  block  while  looking
  1094. through the  memory allocation chain.  This could happen if you are running
  1095. other programs that manipulate the memory allocation chain while SWAPDOS is
  1096. running (i.e., multitasking software).
  1097.  
  1098.   No XMS Driver
  1099.  
  1100. You have  specified the  /S=3 option, but an XMS driver is not installed in
  1101. your machine.   Make  sure that Microsoft's HIMEM.SYS (or an equivalent XMS
  1102. driver) is being loaded through your CONFIG.SYS.
  1103.  
  1104.   Not enough memory
  1105.  
  1106. SWAPDOS was  unable to  reallocate its  own memory.   Most  likely, the DOS
  1107. memory allocation  chain has been corrupted.  Contact IDC technical support
  1108. for assistance.
  1109.  
  1110.   Over 200 Memory Control Blocks in system
  1111.  
  1112. This error  will occur  in the  unlikely event  that you have more than 200
  1113. memory control  blocks in  use.   Contact  IDC  technical  support  if  you
  1114. encounter this error message.
  1115.  
  1116.   SWAPDOS "mark" in use - use the EXIT command to restore memory
  1117.  
  1118. The specified  SWAPDOS  "mark"  has  already  been  used  to  SWAP  out  an
  1119. application.   Either you  want to swap to a different mark, or you want to
  1120. EXIT and restore memory before swapping again.
  1121.  
  1122.   XMS Error nn function mm
  1123.  
  1124. The XMS memory manager returned error nn while processing function mm.  You
  1125. can use the /D option to bypass this problem.  Please contact IDC technical
  1126. support if you encounter this error.
  1127.  
  1128.   Your application appears to have hooked an interrupt vector
  1129.  
  1130. One  or  more  system  interrupt  vectors  point  at  memory  used  by  the
  1131. application you  are trying  to swap  out.  You must use the Mark/Long Swap
  1132. method in order to swap out this application.
  1133.  
  1134.   Your application appears to control the EGA/VGA Configuration Region
  1135.  
  1136. The application you are trying to swap out has taken control of the EGA/VGA
  1137. configuration pointers.  You must use the Mark/Long Swap method in order to
  1138. swap out this application.
  1139.  
  1140.   Your application does not have an environment
  1141.  
  1142. The application  you are trying to swap out appears to have deallocated its
  1143. environment.   SWAPDOS will not swap out applications that have deallocated
  1144. their environment.
  1145.  
  1146.  
  1147.  
  1148. Page 20                                          SWAPDOS 1.00 Documentation
  1149.                           If Something Goes Wrong
  1150.  
  1151. If SWAPDOS  cannot operate  correctly it should issue an error message that
  1152. describes the problem.  If you encounter an error message, please check the
  1153. section titled  "Exit Codes and Error Messages".  Most message descriptions
  1154. include a  probable cause that may make it easy for you to quickly identify
  1155. the problem.   If  that doesn't  help, or if you don't get an error message
  1156. from SWAPDOS, these steps will help identify the problem:
  1157.  
  1158. -    Try to  swap out  a different  application.   SWAPDOS is  known to  be
  1159. compatible with  dBASE III  Plus, dBASE  IV, 1-2-3, WordPerfect, KEDIT, and
  1160. the other  programs which  have examples  in the  preceding sections.    If
  1161. SWAPDOS works  with other  applications on  your system then it is possible
  1162. that SWAPDOS is incompatible with the application you are trying to swap.
  1163.  
  1164. -    Try specifying  a different  command on the SWAPDOS command line.  For
  1165. example, "SWAPDOS  VER" (VER  is an  internal DOS command that displays the
  1166. DOS version  number).   If this  works, it  is  possible  that  SWAPDOS  is
  1167. incompatible with  the program you are trying to run while your application
  1168. is swapped out.
  1169.  
  1170. -    Use the  /S=1 option to force SWAPDOS to write to disk. if this solves
  1171. the problem,  then there  might be  a problem  with your  EMS  software  or
  1172. hardware.
  1173.  
  1174. -    Rename your AUTOEXEC.BAT and CONFIG.SYS, reboot your computer, and try
  1175. to recreate  the problem.   If the problem does not occur during this test,
  1176. then there  is probably a conflict between SWAPDOS and a TSR (Terminate and
  1177. Stay Resident  program) loaded  by your  AUTOEXEC.BAT or  a  device  driver
  1178. loaded in  your CONFIG.SYS.  To determine which one is causing the conflict
  1179. you can  rebuild your  AUTOEXEC.BAT and  CONFIG.SYS one line at a time, and
  1180. reboot and  rerun SWAPDOS after each change until the problem occurs.  This
  1181. should pinpoint  the conflicting  program.  Sometimes rearranging the order
  1182. in which TSRs are loaded can eliminate the conflict.  Otherwise you may not
  1183. be able to use SWAPDOS while this program is loaded.
  1184.  
  1185. Direct telephone  support is  only guaranteed  for registered  users.  Non-
  1186. registered users will be supported directly only as time permits.
  1187.  
  1188. The quickest  and easiest  way to get technical support, registered or not,
  1189. is to  contact Chip Rabinowitz at Compuserve 70731,20, MCIMAIL 315-5415, or
  1190. FAX 1-215-886-4225.   You may also write to Innovative Data Concepts at the
  1191. address above, or call 1-215-884-3373.
  1192.  
  1193.  
  1194.                          Commonly Asked Questions
  1195.  
  1196.   What kind of applications can't SWAPDOS handle?
  1197.  
  1198. This version of SWAPDOS cannot swap out most networking software.
  1199.  
  1200. Communications programs  which depend  on continuous  access  to  interrupt
  1201. vectors tend  to lock  up if you swap them out while they are communicating
  1202. with another system.
  1203.  
  1204. Multitasking programs  like DesqView and Windows which do not use the Intel
  1205. 80386 virtual  machine features  can rearrange  DOS memory while SWAPDOS is
  1206.  
  1207. SWAPDOS 1.00 Documentation                                          Page 21
  1208. running (kind  of like  pulling the  rug out under your feet), resulting in
  1209. the "Memory  is too  fragmented to  swap" message.   However,  since  these
  1210. programs provide  their own  facilities for  overcoming memory constraints,
  1211. you generally would not use SWAPDOS with these products.
  1212.  
  1213. Programs which "hook" into DOS instead of modifying interrupt vectors.  For
  1214. example, the  FASTOPEN and  APPEND commands  cannot be swapped out, because
  1215. they modify undocumented areas of memory reserved for use by DOS.
  1216.  
  1217.   What vectors does SWAPDOS hook?
  1218.  
  1219. SWAPDOS doesn't  "hook" any interrupt vectors.  SWAPDOS copies and restores
  1220. the system's  interrupt vector  table at  critical points (e.g.  before and
  1221. after swapping  out an  application) to  avoid system  crashes, but SWAPDOS
  1222. never takes control of any interrupt vectors.
  1223.  
  1224.   Is SWAPDOS a TSR?
  1225.  
  1226. SWAPDOS only uses the "terminate and stay resident" feature of DOS when you
  1227. use the  /M option.   The  only thing  that stays  resident  is  a  program
  1228. "signature" and copy of the current system interrupt vectors.  This is done
  1229. so that the vectors can be restored when you use the /L option.
  1230.  
  1231.   Why doesn't SWAPDOS set the DOS exit code to the exit code returned by
  1232.   the program I specified on the SWAPDOS command line?
  1233.  
  1234. SWAPDOS runs  the program  you specified  via COMMAND.COM,  the DOS command
  1235. processor.   COMMAND.COM does  not  return  the  error  level  set  by  the
  1236. specified program,  so SWAPDOS  does not  have access  to the  error level.
  1237. Instead SWAPDOS  sets the  error level  to  indicate  the  success  of  the
  1238. swapping  operation,   as  described   in  section  titled  "Error  Message
  1239. Descriptions".
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258.  
  1259.  
  1260.  
  1261.  
  1262.  
  1263.  
  1264.  
  1265.  
  1266. Page 22                                          SWAPDOS 1.00 Documentation
  1267.   What features are planned for future releases?
  1268.  
  1269. While we haven't committed to any new features or release dates, here are a
  1270. few of the things we are considering:
  1271.  
  1272.   -  Support for swapping network software
  1273.   -  OBJ file for inclusion in other EXE files
  1274.   -  Ability to automatically unload TSRs loaded after a "mark"
  1275.   -  Optional data compression to reduce the time it takes to swap
  1276.   -  "Hotkey" to switch between swapped applications
  1277.   -  "High" DOS memory support
  1278.   -  Full-blown task-switching
  1279.  
  1280.  
  1281.                        COPYRIGHT NOTICE AND LICENSE
  1282.  
  1283. Innovative Data  Concepts, the  copyright owner  for  The  SWAP  Utilities,
  1284. hereby licenses  you to:  use the  software; make  as many  copies  of  the
  1285. shareware version  of this  software and  documentation as  you wish;  give
  1286. exact copies  of the  original shareware  version to anyone; and distribute
  1287. the shareware  version of  the software and documentation in its unmodified
  1288. form via electronic means. There is no charge for any of the above.
  1289.  
  1290. This is  not free  software.   This license allows you to use this software
  1291. without charge for a period of 30 days.  Any use of The SWAP Utilities past
  1292. this 30-day  period is  in violation  of federal copyright laws and will be
  1293. prosecuted.
  1294.  
  1295. No copy  of the  software may  be distributed  or given  away without  this
  1296. accompanying documentation;  this notice  must not be removed.  ONLY COPIES
  1297. OF THE  SHAREWARE VERSION MAY BE DISTRIBUTED IN ANY FORM.  IDC will provide
  1298. disks with  the shareware  versions of  ALL SWAP  Utilities  programs  upon
  1299. written request.
  1300.  
  1301.  
  1302.                                  Warranty
  1303.  
  1304. There is  no warranty  of any  kind associated  with this software, and the
  1305. copyright owner  is not  liable for  damages of  any kind.   By  using this
  1306. software, you  agree to this. Every effort has been made by Innovative Data
  1307. Concepts to  make this  product bug-free.   However, the nature of software
  1308. development is  that it  is impossible to guarantee bug-free software. If a
  1309. registered user  reports a  verifiable bug,  the user  will receive  a free
  1310. upgrade to the next version of The SWAP Utilities.
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324.  
  1325. SWAPDOS 1.00 Documentation                                          Page 23
  1326.                    COPYRIGHT NOTICE AND LICENSE (cont.)
  1327.  
  1328.  
  1329.                                Registration
  1330.  
  1331. Upon receipt  of the appropriate registration fee, Innovative Data Concepts
  1332. will send  the user a printed copy of this documentation, a disk containing
  1333. a version  of SWAPDOS  without the  shareware registration  screen,  and  a
  1334. registration number entitling the user to upgrades and telephone support.
  1335.  
  1336. Registered users  will also  be given  a toll-free  number that will permit
  1337. them to receive a free Compuserve Intro-Pak, along with a $15 usage credit.
  1338.  
  1339.  
  1340.               Bulletin Boards, Users Groups and Disk Vendors
  1341.  
  1342. Bulletin Board  Sysops and  User Groups are encouraged to fill out the form
  1343. below, which will automatically place them on a mailing list to receive the
  1344. latest version  of all IDC shareware products as they are released, as well
  1345. as upgrades  to already  existing programs.   There  is  no  fee  for  this
  1346. service.
  1347.  
  1348. Disk Vendors  who wish to distribute The SWAP Utilities must satisfy one of
  1349. the following requirements:
  1350.  
  1351. 1)   The vendor  must have  been accepted  as an  associate member  of  the
  1352. Association of Shareware Professionals; or
  1353.  
  1354. 2)   The vendor  must agree  to abide by the standards for disk vendors, as
  1355. set forth by the Association of Shareware Professionals.
  1356.  
  1357. Disk vendors  who do  not meet  these requirements  are  NOT  PERMITTED  TO
  1358. DISTRIBUTE THE SWAP UTILITIES UNDER ANY CIRCUMSTANCES!
  1359.  
  1360. For information on obtaining ASP-approved status, contact:
  1361.  
  1362.      Vendor Membership Coordinator
  1363.      Association of Shareware Professionals
  1364.      P.O. Box 5786
  1365.      Bellevue, WA 98006
  1366.  
  1367. UNDER NO  CIRCUMSTANCES MAY  THE SWAP  UTILITIES BE DISTRIBUTED WITHOUT ALL
  1368. ACCOMPANYING  DOCUMENTATION  FILES  (INCLUDING  THIS  COMPLETE  FILE),  ALL
  1369. PROGRAMS, AND  OTHER MATERIALS  PROVIDED  WITH  THE  OFFICIAL  COPIES  FROM
  1370. INNOVATIVE DATA  CONCEPTS.   ANY SUCH DISTRIBUTION OF THE SWAP UTILITIES OR
  1371. ITS RELATED  FILES, EXCEPT  AS PROVIDED  FOR  IN  THIS  LICENSE,  SHALL  BE
  1372. DETERMINED TO  BE IN  VIOLATION OF  FEDERAL  COPYRIGHT  LAWS  AND  WILL  BE
  1373. PROSECUTED.
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384. Page 24                                          SWAPDOS 1.00 Documentation
  1385.                       About Innovative Data Concepts
  1386.  
  1387. Innovative Data  Concepts is  a consulting  firm owned and operated by Chip
  1388. Rabinowitz,  specializing   in   Ram-Resident   programs,   communications,
  1389. printing, video and more.
  1390.  
  1391. Rabinowitz is an Assistant Sysop on the Computer Language Magazine Forum on
  1392. CompuServe Information  Service and  also provides  technical  support  for
  1393. Borland International  as a  member of  "Team Borland"  on their Compuserve
  1394. Forums, in  the areas  of Turbo  C, Turbo  Assembler, Turbo  Debugger,  and
  1395. SideKick Plus.   He is also the leader of the TesSeRact Development Team, a
  1396. group pushing for Ram-Resident Programming Standards.
  1397.  
  1398. The technique  used to  swap these  applications may  be applied  to  other
  1399. resident programs  as well,  and  Innovative  Data  Concepts  is  currently
  1400. investigating  other   possible  SWAP??   programs.     If  you   have  any
  1401. suggestions/comments, please contact IDC.
  1402.  
  1403. A similar  technique  may  also  be  directly  incorporated  into  resident
  1404. programs; for more information, please contact IDC directly.
  1405.  
  1406.  
  1407.                       The Rest of The SWAP Utilities
  1408.  
  1409. The SWAP Utilities is a set of memory-saving utilities from Innovative Data
  1410. Concepts.  There are currently eight SWAP?? programs available, which allow
  1411. you to  run eight  popular Ram-Resident programs in less than 7000 bytes of
  1412. memory (SWAPSP  - 7400,  SWAPMT 8200),  far less  than they  require  under
  1413. normal circumstances.
  1414.  
  1415. The following SWAP Utilities are currently available:
  1416.  
  1417.      SWAPSK(TM) -- For SideKick
  1418.      SWAPSP(TM) -- For SideKick Plus
  1419.      SWAPTN(TM) -- For Tornado
  1420.      SWAPMT(TM) -- For Metro
  1421.      SWAPMM(TM) -- For MemoryMate
  1422.      SWAPSH(TM) -- For PCTools Shell
  1423.      SWAPDT(TM) -- For PCTools Desktop
  1424.      SWAPNG(TM) -- For The Norton Guides
  1425.  
  1426. For more  information about  The SWAP  Utilities, contact  Innovative  Data
  1427. Concepts, or see the accompanying ORDER.DOC file.
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443. SWAPDOS 1.00 Documentation                                          Page 25
  1444.                   Association of Shareware Professionals
  1445.  
  1446. Innovative Data  Concepts is  a member  of  the  Association  of  Shareware
  1447. Professionals (ASP), an organization formed in April 1987 to strengthen the
  1448. future  of   shareware  (user-supported  software)  as  an  alternative  to
  1449. commercial software.    Its  members,  all  of  whom  are  programmers  who
  1450. subscribe to a code of ethics, are committed to the concept of shareware as
  1451. a method of marketing.
  1452.  
  1453. ASP has established stringent standards for its members.  ASP wants to make
  1454. sure that  the shareware  principle works  for you.   If  you are unable to
  1455. resolve a  problem with  an ASP  member (other than technical support), ASP
  1456. may be  able to  help.  Please write to the ASP Ombudsman at P.O. Box 5786,
  1457. Bellevue, WA 98006.
  1458.  
  1459. The primary goals of the ASP are:
  1460.      To inform  users about  shareware programs  and about  shareware as  a
  1461.           method of distributing and marketing software;
  1462.      To encourage broader distribution of shareware through user groups and
  1463.           disk dealers  who agree  to identify  and explain  the nature  of
  1464.           shareware;
  1465.      To assist members in marketing their software;
  1466.      To provide  a forum  through which  ASP members may communicate, share
  1467.           ideas, and learn from each other; and
  1468.      To foster  a high degree of professionalism among shareware authors by
  1469.           setting programming,  marketing, and  support standards  for  ASP
  1470.           members to follow.
  1471.  
  1472.  
  1473.          Standards for the Association of Shareware Professionals
  1474.  
  1475. PROGRAMMING STANDARDS:
  1476.  
  1477.      The program  meets the  ASP's definition of "shareware" (i.e., it
  1478.      is not a commercial demo with major feature disabled, nor a time-
  1479.      limited program).
  1480.  
  1481.      The program  has been  thoroughly tested by the author and should
  1482.      not be harmful to other files or hardware if used properly.
  1483.  
  1484. DOCUMENTATION STANDARDS:
  1485.  
  1486.      Sufficient documentation is provided to allow the average user to
  1487.      try all the major functions of the program.
  1488.  
  1489.      Any discussion  of the  shareware  concept  and  of  registration
  1490.      requirements is done in a professional and positive manner.
  1491.  
  1492. SUPPORT STANDARDS:
  1493.  
  1494.      The member will respond to people who send registration payments,
  1495.      as promised  in the  program's documentation.   At a minimum, the
  1496.      member will acknowledge receipt of all payments.
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502. Page 26                                          SWAPDOS 1.00 Documentation
  1503.      The member  will establish  a procedure  for users to report, and
  1504.      have acknowledged, matters such as bug reports, and will describe
  1505.      such means  in the documentation accompanying all versions of the
  1506.      programs.   The author  will respond  to written bug reports from
  1507.      registered users when the user provides a self-addressed, stamped
  1508.      envelope.
  1509.  
  1510.      Known incompatibilities with other software or hardware and major
  1511.      or unusual  program limitations  are noted  in the  documentation
  1512.      that comes with the shareware (evaluation) program.
  1513.  
  1514. GENERAL:
  1515.  
  1516.      Members will keep the ASP apprised of changes in mailing address;
  1517.      which shareware  programs they  have published  and are currently
  1518.      supporting; the  current version  numbers; and  of any changes in
  1519.      the status of their programs.
  1520.  
  1521.      If a  user has  a dispute with an ASP member-author, the user may
  1522.      appeal to the ASP to mediate for arbitration of the dispute.
  1523.  
  1524. For more  information about  the Association  of  Shareware  Professionals,
  1525. contact Paul  Mayer, Membership  Coordinator  of  the  ASP,  at  Compuserve
  1526. 70040,645, or write the ASP at P.O. Box 5786, Bellevue, WA 98006.
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.  
  1547.  
  1548.  
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561. SWAPDOS 1.00 Documentation                                          Page 27
  1562.